//package com.example.app.Model;
//
//import android.content.Context;
//
//public class HttpClient {
//    // 通用回调接口
//    public interface ResponseCallback<T> {
//        void onSuccess(T response);
//        void onFailure(String error);
//    }
//
//    // 基础请求方法
//    public static <T> void request(Context context,
//                                   String apiPath,
//                                   Object requestObject,
//                                   Class<T> responseType,
//                                   ResponseCallback<T> callback) {
//        new AsyncTask<Void, Void, ResponseWrapper<T>>() {
//            @Override
//            protected ResponseWrapper<T> doInBackground(Void... voids) {
//                try {
//                    // 构建完整URL
//                    String fullUrl = "https://" + StaticData.WebSocketHOSTS + ":443/" + apiPath;
//
//                    // 创建SSL上下文
//                    SSLContext sslContext = createSSLContext();
//
//                    // 创建连接
//                    HttpsURLConnection connection = createConnection(fullUrl,Context);
//
//                    // 转换请求体
//                    String requestBody = new Gson().toJson(requestObject);
//
//                    // 发送请求
//                    sendRequest(connection, requestBody);
//
//                    // 处理响应
//                    return handleResponse(connection, responseType);
//                } catch (Exception e) {
//                    return new ResponseWrapper<>(null, "Exception: " + e.getMessage());
//                }
//            }
//
//            @Override
//            protected void onPostExecute(ResponseWrapper<T> wrapper) {
//                if (wrapper.error != null) {
//                    callback.onFailure(wrapper.error);
//                } else {
//                    callback.onSuccess(wrapper.response);
//                }
//            }
//        }.execute();
//    }
//
//    // 创建SSL上下文
//    private static SSLContext createSSLContext() throws Exception {
//        TrustManager[] trustAllCerts = new TrustManager[]{
//            new X509TrustManager() {
//                public void checkClientTrusted(X509Certificate[] chain, String authType) {}
//                public void checkServerTrusted(X509Certificate[] chain, String authType) {}
//                public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
//            }
//        };
//        SSLContext sslContext = SSLContext.getInstance("TLS");
//        sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
//        return sslContext;
//    }
//
//    // 创建连接对象
//    private static HttpsURLConnection createConnection(String url, SSLContext sslContext) throws IOException {
//        HttpsURLConnection connection = (HttpsURLConnection) new URL(url).openConnection();
//        connection.setSSLSocketFactory(sslContext.getSocketFactory());
//        connection.setHostnameVerifier((hostname, session) -> true);
//        connection.setRequestMethod("POST");
//        connection.setRequestProperty("Content-Type", "application/json");
//        connection.setDoOutput(true);
//        return connection;
//    }
//
//    // 发送请求数据
//    private static void sendRequest(HttpsURLConnection connection, String requestBody) throws IOException {
//        try (OutputStream os = new BufferedOutputStream(connection.getOutputStream())) {
//            os.write(requestBody.getBytes(StandardCharsets.UTF_8));
//        }
//    }
//
//    // 处理响应数据
//    private static <T> ResponseWrapper<T> handleResponse(HttpsURLConnection connection, Class<T> responseType) throws Exception {
//        int responseCode = connection.getResponseCode();
//        if (responseCode != HttpsURLConnection.HTTP_OK) {
//            return new ResponseWrapper<>(null, "HTTP Error: " + responseCode);
//        }
//
//        try (InputStream is = new BufferedInputStream(connection.getInputStream())) {
//            BufferedReader reader = new BufferedReader(new InputStreamReader(is));
//            StringBuilder response = new StringBuilder();
//            String line;
//            while ((line = reader.readLine()) != null) {
//                response.append(line);
//            }
//
//            // 使用Gson解析响应
//            return new ResponseWrapper<>(
//                new Gson().fromJson(response.toString(), responseType),
//                null
//            );
//        }
//    }
//
//    // 响应包装类
//    private static class ResponseWrapper<T> {
//        T response;
//        String error;
//
//        ResponseWrapper(T response, String error) {
//            this.response = response;
//            this.error = error;
//        }
//    }
//
//    // 获取设备ID（可复用）
//    public static String getDeviceId(Context context) {
//        @SuppressLint("HardwareIds") String deviceId = Settings.Secure.getString(
//            context.getContentResolver(),
//            Settings.Secure.ANDROID_ID
//        );
//        return !TextUtils.isEmpty(deviceId) ? deviceId : UUID.randomUUID().toString();
//    }
//}